﻿ 
using MongoDB.Bson;
using MongoDB.Bson.Serialization.Attributes;
using System;
using System.Collections.Generic;
using System.Text;

namespace AppSocketModel
{
    /// <summary>
    /// 产品
    /// </summary>
    [BsonIgnoreExtraElements]
    public class ProductDto
    {
        /// <summary>
        /// Id
        /// </summary>
        [Newtonsoft.Json.JsonIgnore]
        [BsonRepresentation(BsonType.ObjectId)]
        public string Id { get; set; }

        /// <summary>
        /// 设备类别
        /// </summary>
        public DeviceCategory deviceCategory { set; get; }
         
        /// <summary>
        /// 设备类型
        /// </summary>
        public DeviceType deviceType { set; get; }

        /// <summary>
        /// 设备生命状态
        /// </summary>
        public LifeStatus lifeStatus { set; get; }

        /// <summary>
        /// 型号
        /// </summary>
        public string Model { set; get; }

        /// <summary>
        /// IMEI
        /// </summary>
        public string IMEI { set; get; }

        /// <summary>
        /// 建档日期
        /// </summary>
        public DateTime CreateDateTime { set; get; }

        /// <summary>
        /// 建档人
        /// </summary>
        public string CreateAccountCode { set; get; }

        /// <summary>
        /// 建档人角色
        /// </summary>
        public AccountRole CreateAccountRole { set; get; }


        /// <summary>
        /// 档案修改日期
        /// </summary>
        public DateTime ModifyDateTime { set; get; }

        /// <summary>
        /// 修改人
        /// </summary>
        public string ModifyAccountCode { set; get; }

        /// <summary>
        /// 修改人角色
        /// </summary>
        public AccountRole ModifyAccountRole { set; get; }

        /// <summary>
        /// 注册日期
        /// </summary>
        public DateTime ? RegesterDateTime { set; get; }

        /// <summary>
        /// 购买公司Id
        /// </summary>
        public int? CompanyId { set; get; }

        /// <summary>
        /// 购买公司名称
        /// </summary>
        public string CompanyName { set; get; }

        /// <summary>
        /// 购买日期
        /// </summary>
        public DateTime? BuyDate { set; get; }


        /// <summary>
        /// GPRS模块类型
        /// </summary> 
        public GPRSModuleType GPRSModuleType { set; get; }

        /// <summary>
        /// 批次号
        /// </summary>
        public string BatchNumber { set; get; }

        /// <summary>
        /// 生产日期
        /// </summary> 
        public DateTime FactoryDate { set; get; }

        /// <summary>
        /// 生产厂名称
        /// </summary>
        public string FactoryName { set; get; }

        /// <summary>
        /// 生产厂地址
        /// </summary>
        public string FactoryAddress { set; get; }
        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { set; get; }
    } 
}
